/**
* 通用datagrid service模块，提供对datagrid的常用功能支持
* @Date:    2015-6-16
* @author:  Jackson wang
* @version: 1.0
* @since:   1.0
*/
app.addService('tab-serv',	function(application){

	'use strict';
	
	var msgServ=null,
		getElementServ=null;	
		
	var private_methods={
		getTarget:function(_options){
			if(getElementServ==null)
				getElementServ = application.getService("getElement-serv");
			return getElementServ.getTarget(_options);
		}
	};

	return {
		behaviors:['getElement-beha'],
		/**
		*
		* 初始化方法，进行模块内部的初始化工作		
		*/
		init:function(){
			msgServ = application.getService("msg-serv");
			getElementServ = application.getService("getElement-serv");
		},

		/**
		*
		* 销毁方法，清除遗留数据及方法绑定，释放内存		*
		*/
		destory:function(){
			msgServ = null;
		},		
		
		/**
		* 根据传入url在目标tab组件中创建href类型tab页
		* @param _options.target 目标tab组件对象
		* @param _options.tabUrl 待添加的数据行
		* @param _options.title  tab页标题
		* @param _options.tools  工具栏按钮
		* @param _options.container 目标datagrid对象的上级容器
		* @return 
		*
		*/
		addHrefTab:function(_options){
			//判断目标对象参数类型，获取目标对象			
			var _target = private_methods.getTarget(_options);
			//判断目标对象是否为空
			if(_options.tabUrl!=null && _target!=null){	
				
				//判断title是否为空
				if (_options.title!=null){
					if(!$(_target).tabs('exists', _options.title)){
				
				//判断待添加数据是否为空				
						$(_target).tabs('add',{
							title : _options.title,
							closable : true,
		//					border:false,
		//					iconCls : nodes[1],
							href:_options.tabUrl,
							tools:_options.tools
		//					tools : [ {
		//						iconCls : 'icon-mini-refresh',
		//						handler : function() {
		//							refreshTab(nodes[0]);
		//						}
		//					} ]
							
						});
					}else{
						 $(_target).tabs('select', _options.title);
					}				
					
				}
							
			}			
										
		},
		
		/**
		* 根据传入url在目标tab组件中创建frame类型tab页
		* @param _options.target 目标tab组件对象
		* @param _options.tabUrl 待添加的数据行
		* @param _options.title  tab页标题
		* @param _options.tools  工具栏按钮
		* @param _options.container 目标datagrid对象的上级容器
		* @return 
		*
		*/
		addFrameTab:function(_options){
			//判断目标对象参数类型，获取目标对象
			
			
			var _target = private_methods.getTarget(_options);
			//判断目标对象是否为空
			if(_options.tabUrl!=null && _target!=null){				
				//判断待添加数据是否为空				
				$(_target).tabs('add',{
					title : options.title,
					closable : true,
					//border:false,
					iconCls : nodes[1],
					//href : 'error/error.jsp',
					content : "<iframe src="+ _options.tabUrl +" frameborder=\"0\" style=\"border:0;width:100%;height:99.4%;\"></iframe>",
					tools:_options.tools
//					tools : [ {
//						iconCls : 'icon-mini-refresh',
//						handler : function() {
//							refreshTab(nodes[0]);
//						}
//					} ]
					
				});
							
			}			
										
		}		
		
	};

});